Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement SQL on FHIR views #1439

Closed
wants to merge 98 commits into from
Closed

Implement SQL on FHIR views #1439

wants to merge 98 commits into from

Conversation

johngrimes
Copy link
Member

Resolves #1438.

@johngrimes johngrimes added the new feature New feature or request label May 9, 2023
@johngrimes johngrimes self-assigned this May 9, 2023
@johngrimes johngrimes changed the base branch from main to release/6.2.0 May 9, 2023 16:15
@codecov
Copy link

codecov bot commented May 17, 2023

Codecov Report

Attention: 63 lines in your changes are missing coverage. Please review.

Comparison is base (1b30556) 85.35% compared to head (37c01fd) 85.23%.
Report is 7 commits behind head on main.

❗ Current head 37c01fd differs from pull request most recent head d306c69. Consider uploading reports for the commit d306c69 to get more accurate results

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1439      +/-   ##
============================================
- Coverage     85.35%   85.23%   -0.12%     
  Complexity      139      139              
============================================
  Files           340      347       +7     
  Lines          7845     7998     +153     
  Branches        525      520       -5     
============================================
+ Hits           6696     6817     +121     
- Misses          856      888      +32     
  Partials        293      293              
Files Coverage Δ
...iro/pathling/aggregate/AggregateQueryExecutor.java 98.24% <100.00%> (ø)
...ro/pathling/fhirpath/parser/InvocationVisitor.java 93.22% <100.00%> (+0.11%) ⬆️
.../csiro/pathling/fhirpath/parser/ParserContext.java 100.00% <100.00%> (ø)
...siro/pathling/fhirpath/parser/UnnestBehaviour.java 100.00% <100.00%> (ø)
.../java/au/csiro/pathling/views/NamedExpression.java 100.00% <100.00%> (ø)
...va/au/csiro/pathling/views/VariableExpression.java 100.00% <100.00%> (ø)
lib/python/pathling/__init__.py 100.00% <100.00%> (ø)
...src/main/java/au/csiro/pathling/QueryExecutor.java 93.82% <88.88%> (-0.30%) ⬇️
...au/csiro/pathling/fhirpath/FhirPathAndContext.java 66.66% <66.66%> (ø)
...rc/main/java/au/csiro/pathling/views/FhirView.java 80.00% <80.00%> (ø)
... and 13 more

... and 39 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Base automatically changed from release/6.2.0 to main May 23, 2023 03:29
@johngrimes johngrimes changed the title SQL on FHIR view layer - POC implementation Implement optional and per-column unnesting May 29, 2023
@johngrimes johngrimes added this to the SQL on FHIR Views milestone Jul 6, 2023
# Conflicts:
#	encoders/pom.xml
#	fhir-server/pom.xml
#	fhirpath/pom.xml
#	fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/NamedFunction.java
#	fhirpath/src/main/java/au/csiro/pathling/fhirpath/literal/LiteralPath.java
#	fhirpath/src/main/java/au/csiro/pathling/fhirpath/literal/StringLiteralPath.java
#	lib/import/pom.xml
#	lib/js/pom.xml
#	lib/python/Dockerfile
#	lib/python/pom.xml
#	library-api/pom.xml
#	pom.xml
#	site/pom.xml
#	terminology/pom.xml
#	utilities/pom.xml
@johngrimes
Copy link
Member Author

@piotrszul I did a bit more work on the PR, primarily so that I could do a demo for the SQL on FHIR track at the Phoenix connectathon over the weekend.

You can see it here: https://youtu.be/2Dj4fBoBmRA

There is now a submodule at sql-on-fhir, and a symlink fhirpath/src/test/resources/tests/sql-on-fhir -> ../../../../../sql-on-fhir/tests.

You might need to:

git submodule init
git submodule update

…ments to Spark/Catalyst.

Initial concept of annotation fhipath based function definition.
Refactoring of ParserTest and related assertion classes, to work with column based approach (WIP).
Implementation of 'union' and 'forEach' clauses.
Separation of 'v1' FHIRView test from our custom enhanced tests.
Implemented 'getResourceKey()' function.
Implementing 'collection' and singular value selection semantics for DirectSelection.
…ons.

Implementing 'r-keys' functions: getReferenceKey() and getResourceKey().
Cleaning up our extended FhirView tests.
…to allow FHIRView paths like: forEach = 'where(gender='male').name,
@johngrimes johngrimes assigned johngrimes and unassigned piotrszul Oct 26, 2023
@johngrimes
Copy link
Member Author

Closing this in favour of #1775.

@johngrimes johngrimes closed this Jul 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

SQL on FHIR view layer - POC implementation
2 participants